package com.hyt.it.ogt.pj.data.model.entity.pj;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hyt.core.base.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 评卷项目表
 * </p>
 *
 * @author qiaozj
 * @since 2020-07-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("pj_project")
@ApiModel(value="Project对象", description="评卷项目表")
public class Project extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "是否初始化")
    private Boolean isInit;

    @ApiModelProperty(value = "是否启用")
    private Boolean isValid;

    @ApiModelProperty(value = "创建时间", hidden = true)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginDate;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endDate;

    @ApiModelProperty(value = "是否结束")
    private boolean isFinish;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "机构id")
    private String officeId;

    @ApiModelProperty(value = "评卷版本（0：老版本，1：新版本）")
    private Integer version;

    @ApiModelProperty(value = "考试分类（来源：平台）")
    private String examType;

    @ApiModelProperty(value = "考试分类名称（来源：平台）")
    private String examTypeName;

    @ApiModelProperty(value = "考试类型（0：无考场，1：虚拟考场，2：现考现评）")
    private Integer examClassfication;

    @ApiModelProperty(value = "评卷发布状态（0：未发布，1：已发布）")
    private Integer markPublish;

    @ApiModelProperty(value = "考试任务id,如果发布的是批次需要此字段")
    private String taskId;

    @ApiModelProperty(value = "考试任务名称,如果发布的是批次需要此字段")
    private String taskName;

    @ApiModelProperty(value = "考试开始时间", hidden = true)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskBeginDate;

    @ApiModelProperty(value = "考试结束时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskEndDate;
}
